     end
   end
 
-  defoverridable Kernel.ExampleBehaviour
+  defoverridable Kernel.OverridableExampleBehaviour
 
   def required_callback(), do: "overridden"
 

  end
end

defmodule Kernel.ExampleBehaviour do
  @callback required_callback :: any
  @callback optional_callback :: any
  @macrocallback required_macro_callback(arg :: any) :: Macro.t

end

defmodule Kernel.OverridableWithBehaviour do
  @behaviour Kernel.OverridableExampleBehaviour

  def required_callback(), do: "original"

