Metaprogramming galore

```rb
Parent = Struct.new(:name)

Dummy = Class.new(Parent) do
  define_method(:foo) do |arg|
    "foo #{arg}"
  end
  alias_method :foo_alt, :foo
end

# class   Parent
# class   Dummy < Parent
#   def   Dummy#foo
#   def   Dummy#foo_alt


class Person
  attr_accessor :name, :location
  attr_writer :pets
end

# class   Person
#   def   Person#name
#   def   Person#name=
#   def   Person#location
#   def   Person#location=
#   def   Person#pets=


class User < ActiveRecord::Base
  belongs_to :organization
  has_many :posts
end

# class   User < ActiveRecord::Base
#   def   User#organization
#   def   User#organization=
#   def   User#build_organization
#   def   User#create_organization
#   def   User#create_organization!
#   def   User#posts
#   def   User#posts=
#   def   User#post_ids
#   def   User#post_ids=
```