private static function makeCallable($expression)
    {
        if (! array_key_exists($expression, static::$map)) {
            $return = "return ($expression);";
            try {
                $lambda = create_function(static::$signature, $return);
            } catch (\ParseError $ex) {
                $lambda = false;
            } finally {
                if (false === $lambda) {
                    throw new \LogicException(sprintf(
                        'Expression is not valid PHP code: given=[%s], becomes=[%s]',
                        $expression,
                        $return
                    ));
                } else {
                    static::$map[$expression] = $lambda;
                }
            }
        }
        return static::$map[$expression];
    }