let implied type do the spliting