"../src/ArcGrid.m3", line 28: LOOPHOLE: expression's size differs from type's PROCEDURE SwapFloat(f: REAL): REAL = BEGIN RETURN LOOPHOLE(NBOFrom(LOOPHOLE(f, Ctypes.unsigned)), REAL); <- line 28, of course :) END SwapFloat; BITSIZE is 32 for both.