make cast work properly for complex numbers
fix value_type and size computation for house