Noticeable performance hit, ~40x worse casting to ``BiologicalSequence`` than ``str``. This would of course add burden but the cost isn't terrible even for a large number of sequences. I'll default to ``BiologicalSequence`` and err on the side of consistency and functionality here unless recommended otherwise.

```python
> def con_test(s, c):
   ...:     _ = c(s)
   ...:

12:54:19 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> s = 'ATGC' * 100

12:54:30 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, str)
1000000 loops, best of 3: 304 ns per loop

12:54:46 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, str)
1000000 loops, best of 3: 305 ns per loop

12:54:49 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, str)
1000000 loops, best of 3: 306 ns per loop

12:54:51 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> from bipy.core.sequence import BiologicalSequence

12:55:04 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, BiologicalSequence)
100000 loops, best of 3: 13.3 µs per loop

12:55:16 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, BiologicalSequence)
100000 loops, best of 3: 13 µs per loop

12:55:24 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt/ResearchWork/software/bipy/bipy/core/tests
> %timeit con_test(s, BiologicalSequence)
100000 loops, best of 3: 12.9 µs per loop