```ruby
module Sexpr
  class Processor
    class SexprCoercions < Helper

      def call(processor, sexpr, &bl)
        # input coercion
        sexpr = grammar(processor).sexpr(sexpr)

        # recursive call
        sexpr = next_call(processor, sexpr, bl)

        # output coercion
        if sexpr.is_a?(Array) and sexpr.first.is_a?(Symbol)
          grammar(processor).sexpr(sexpr)
        else
          sexpr
        end
      end

      private

      def grammar(processor)
        if processor.respond_to?(:sexpr_grammar)
          processor.sexpr_grammar
        else
          Sexpr
        end
      end

    end # class SexprCoercions
  end  # class Processor
end # module Sexpr```

Add helper methods in SexprCoercions.
user
```ruby
module Sexpr
  class Processor
    class SexprCoercions < Helper

      module Methods

        def parse(*args)
          sexpr_grammar.parse(*args)
        end

        def sexpr(*args)
          sexpr_grammar.sexpr(*args)
        end

      end

      def call(processor, sexpr, &bl)
        # input coercion
        sexpr = grammar(processor).sexpr(sexpr)

        # recursive call
        sexpr = next_call(processor, sexpr, bl)

        # output coercion
        if sexpr.is_a?(Array) and sexpr.first.is_a?(Symbol)
          grammar(processor).sexpr(sexpr)
        else
          sexpr
        end
      end

      private

      def grammar(processor)
        if processor.respond_to?(:sexpr_grammar)
          processor.sexpr_grammar
        else
          Sexpr
        end
      end

    end # class SexprCoercions
  end  # class Processor
end # module Sexpr```
assistant