 getReturningFunctionDeclaration = (args) ->
   "function(#{args}) { return "
 
-simpleOperatorsDefaults = useScheduler: false
+simpleOperatorsDefaults = useScheduler: false, recursionType: 'none'
 simpleOperators = R.mapObj(R.mixin(simpleOperatorsDefaults))(
   average:
     getDefaultArgs: R.always("function(x) { return x; }")

  render: ->
    <button className='remove' onClick={@handleClick}>-</button>

N.Operators = R.foldl(R.mixin, {}, [simpleOperators
  recursiveOperators
  recursiveFunctionOperators
  recursiveOperatorsWithTrailingArgs
])

    </span>


N.Operators = R.foldl(R.mixin, {}, [simpleOperators
  recursiveOperators
  recursiveFunctionOperators
  recursiveOperatorsWithTrailingArgs
])

OperatorClasses = R.mapObject( ({recursionType}) ->
  switch recursionType
  when 'none' then SimpleOperator
  when 'function' then RecursionFunctionOperator
  when 'observable' then RecursiveOperator
  when 'observableWithSelector' then RecursiveOperatorWithTrailingArgs
)

N.ObservableOperator = React.createClass
  handleRemove: ->
