> Can you give example of where you used it?

Check two posts back at 'facet/kernel/__meta__'.  Here's another for a
project I've been working on this week:

  class Program

    # ...

    def self.compile( yml, prg=nil )
      prg ||= Program.new

      sig = (class << prg; self; end)
      yml.each { |key, val|
        case val
        when RubyFn
          #val.out = val.out || key
          sig.class_eval {
            define_method( key ) { eval( val.code ) }
          }
        when Fn
          sig.class_eval {
            define_method( key ) { calc( val.code ) }
          }
        when Hash
          sig.class_eval {
            ftr = Functor.new { |op, *args| prg.send(op, *args) }
            res = compile( val, ftr )
            define_method( key ) { ftr }
          }
        when Type
          # do nothing
        else
          sig.class_eval {
            define_method( key ) { val }
          }
        end
      }

      return prg
    end

  end