public static function fromCallable(callable $callable)
{
$reflection = Reflection::fromCallable($callable);
return new self($callable, $reflection, FunctionSignature::fromReflection($reflection), FunctionLocation::fromReflection($reflection), FunctionScope::fromReflection($reflection, $callable));
}