 
   test "@type with a remote type" do
     module = test_module do
-      @type mytype :: Remote.Some.type
-      @type mytype_arg :: Remote.type(integer)
-    end
-
-    assert [type: {:mytype, {:remote_type, _, [{:atom, _, Remote.Some}, {:atom, _, :type}, []]}, []},
-            type: {:mytype_arg, {:remote_type, _, [{:atom, _, Remote}, {:atom, _, :type}, [{:type, _, :integer, []}]]}, []}] =
+      @type my_type :: Remote.Some.type
+      @type my_type_arg :: Remote.type(integer)
+    end
+
+    assert [type: {:my_type, {:remote_type, _, [{:atom, _, Remote.Some}, {:atom, _, :type}, []]}, []},
+            type: {:my_type_arg, {:remote_type, _, [{:atom, _, Remote}, {:atom, _, :type}, [{:type, _, :integer, []}]]}, []}] =
            types(module)
   end
 

      (quote do: @type one_tuple() :: {:foo}),
      (quote do: @type two_tuple() :: {:foo, :bar}),
      (quote do: @type imm_type_1() :: 1),
      (quote do: @type imm_type_2() :: :atom),
      (quote do: @type simple_type() :: integer()),
      (quote do: @type param_type(p) :: [p]),
      (quote do: @type union_type() :: integer() | binary() | boolean()),

  test "@type with a struct" do
    module = test_module do
      defstruct [hello: nil, other: nil]
      @type my_type :: %TestTypespec{hello: :world}
    end

    assert [type: {:my_type,
             {:type, _, :map, [
               {:type, _, :map_field_exact, [{:atom, _, :__struct__}, {:atom, _, TestTypespec}]},
               {:type, _, :map_field_exact, [{:atom, _, :hello}, {:atom, _, :world}]},
