draft: type conversion, type inference