Not to discourage further discussion, but there are some good answers to this from u/restricteddata in this section of the FAQ.