StrictPtr and FlexiblePtr initial commit; DO NOT TRY TO COMPILE