Try to avoid using value types to work around MonoTouch AOT limitations