(PUP-2026) Allow block_type of Callable to be specified in factory call
This makes it possible to pass the block_type as the last argument
in the call to the Types::Factry.callable - i.e. if the last
type is a Callable, it is considered to always be the block_parameter.