public static function operation($name, $signatures, $fn = null)
    {
        if (! is_array($signatures)) {
            $signatures = [$signatures];
        }
        foreach ($signatures as $signature) {
            self::$operations[] = _stream_operation($name, $signature, $fn);
        }
    }