Implementing a stack in Elixir PID vs GenServer

I wanted to see how I can essentially implement a GenServer in Elixir without actually using a GenSever. The following gist has two implementations, a basic GenServer implementation, and an implementation using send and receive.

守: Follow the rules.

破: Break the rules.

離: Make your own rules.