Reshuffle F.Promise implementation; deprecate lots of stuff