Move pure from core.prim to core