This detection is very unreliable, as you may well know - what is the intention here? If it is to detect values which are not primitives, it would be better to use fluid.isPrimitive - or if it is to detect values which are not arrays, you should use fluid.isArrayable