let go infer the types