Noncopyable types were prevented from having failable initializers because `Optional` itself didn't support noncopyable types. Now `Optional` does, so lift this restriction and add a test.