Implementar un protocolo delegando funciones existentes.

Estoy aprendiendo Elixir modelando un juego de mesa, y tengo este código:

defprotocol Board do
  def can_handle_move(self)
  def handle_move(self, move)
end

defimpl Board, for: List do
  def can_handle_move(self), do: Enum.empty?(self)
  def handle_move(self, move), do: List.delete(self, move)
end

La implementación parece más complicada de lo que realmente es. Actualmente,can_handle_move es soloEnum.empty? yhandle_move es soloList.delete. ¿Tiene Elixir una forma de expresar esto? Algo como:

defimpl Board, for: List do
  def can_handle_move = &Enum.empty?/1
  def handle_move = &List.delete/2
end

... que no se compila. También he intentado sin eldefs.

Respuestas a la pregunta(1)

Su respuesta a la pregunta