Better propagation of expected types for unannotated fn's