def wrap(p, &block)
Array.new(2) { c }.insert(1, Proc.new ).compact
end
wrap(Proc.new { toggle_method }) { sandwich_filling }.each {|e| e.call }