monomorphism restriction confusions