functional ControllerArgumentTypeMappingTable yay