functor import Celloid(new:New is:Is access:Access assign:Assign) at 'celloid.so{native}' Error(registerFormatter) export New Is Access Assign define fun {CelloidFormatter E} T = 'Celloid Error' in case E of celloid(nonLocal C V) then error(kind: T msg: 'Attempted assign on non local celloid' items: [hint(l:'Operation' m:'Celloid.assign') hint(l:'Celloid' m:oz(C)) hint(l:'Value' m:oz(V))]) else error(kind: T items: [line(oz(E))]) end end {Error.registerFormatter celloid CelloidFormatter} end