https://medium.com/@matheuscamarques/inside-the-erlang-garbage-collector-a-functional-perspective-on-concurrency-and-memory-management-6ddd12be6152