Compile time AOP implementation for Erlang