Adding computed properties to a base type with extensions