move function typeInference
instance