How do mixins work internally in Ruby? Explain `include`, `extend` and `prepend`.

Topic: rails, Ruby Object Model. Level: Intermediate.

The full answer to this question is available to Interview Reader members. See what is free and what Premium adds.