I'm updating ApproxFun and this caught me by surprise: ``` julia abstract Foo julia> (f::Foo)(x)=x ERROR: cannot add methods to an abstract type in eval(::Module, ::Any) at ./boot.jl:267 ``` Is this intentional? Is there a way to get around this other than define for each subtype: ``` julia julia> immutable CFoo <: Foo end julia> (f::CFoo)(x)=x ```