moved inline and expand up into the core compiler, looks like illegal code generated though